/*
Copyright (c) 2025 HeZongLun
NahidaProject is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan
PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/

#ifndef SERIALPORT_H
#define SERIALPORT_H

#include <iostream>
 
namespace NahidaProject {
	class __declspec(dllexport) SerialPort {
	public:
		SerialPort();
		~SerialPort();

		bool OpenSerialPort(const char* portName, int bitPerSecond = 115200, char parity = 0, char dataBit = 8, char stopBit = 1, char synchronizeFlag = 0);
		void CloseSerialPort();
		int Send(std::string data);
		std::string Receive();

	private:
		int pHandle[16];
		char synchronizeFlag;
	};
}
#endif